home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO038A.dsk / V.ARM.bas < prev    next >
BASIC Source File  |  2012-02-16  |  12KB  |  272 lines

  1. 100  REM     V.ARM
  2. 110 CL = 0
  3. 120  GOSUB 160: REM      ARM
  4. 130  GOSUB 1080: REM     ATTACK
  5. 131  REM    LOSE MORALE AFTER ARTY
  6. 132  IF PL = 1  AND (TU = 4  OR TU = 5)  AND SF = 1  AND AY% >6  THEN PB(D0,2) = PB(D0,2) -2
  7. 134  IF PL = 2  AND (TU = 4  OR TU = 5)  AND SF = 1  AND AY% >6  THEN PA(D0,2) = PA(D0,2) -2
  8. 140  IF RO = 7  AND TU = 1  THEN RO = 9
  9. 142  REM    ATTACKER GAINS MORALE
  10. 143  IF PL = 1  AND PB(D0,1) <.7  THEN PA(N,2) = PA(N,2) +2
  11. 145  IF PL = 2  AND PA(D0,1) <.7  THEN PB(N,2) = PB(N,2) +2
  12. 150  GOTO 2680
  13. 160  REM     ARM
  14. 170 E = 150:F = 80
  15. 180  IF PL = 1  THEN F4 = 6:B = PB(D0,7)
  16. 190  IF PL = 2  THEN F4 = 1:B = PA(D0,7)
  17. 200  FOR X = 1 TO 13
  18. 210 E = E +1:F = F -1
  19. 220  GOTO 250
  20. 230  NEXT X
  21. 240  GOTO 1020
  22. 250  REM     DRAW TANK, TOP LINE
  23. 260  HCOLOR= F4
  24. 270  HPLOT E +2,F +1 TO E +13,F +1
  25. 280  IF X = 1  THEN  GOTO 230
  26. 290  HCOLOR= 3
  27. 300  HPLOT E +11,F +1 TO E +19,F -7
  28. 310  HCOLOR= F4
  29. 320  HPLOT E,F +2 TO E +14,F +2
  30. 330  HCOLOR= 0
  31. 340  HPLOT E +11,F TO E +18,F -7
  32. 350  IF X = 2  THEN  GOTO 230
  33. 360  HCOLOR= 3
  34. 370  HPLOT E -2,F +3 TO E -1,F +3: HPLOT E +7,F +3 TO E +8,F +3
  35. 380  HCOLOR= F4
  36. 390  HPLOT E,F +3 TO E +5,F +3: HPLOT E +9,F +3 TO E +16,F +3
  37. 400  IF X = 3  THEN  GOTO 230
  38. 410  HCOLOR= 3
  39. 420  HPLOT E -4,F +4 TO E -3,F +4: HPLOT E +9,F +4 TO E +10,F +4: HPLOT E +17,F +4: HPLOT E +29,F +4
  40. 430  HCOLOR= F4
  41. 440  HPLOT E -2,F +4 TO E +8,F +4: HPLOT E +11,F +4 TO E +16,F +4: HPLOT E +18,F +4 TO E +28,F +4
  42. 450  IF X = 4  THEN  GOTO 230
  43. 460  HCOLOR= 3
  44. 470  HPLOT E -6,F +5 TO E -5,F +5: HPLOT E +7,F +5 TO E +12,F +5: HPLOT E +18,F +5: HPLOT E +31,F +5
  45. 480  HCOLOR= F4
  46. 490  HPLOT E -4,F +5 TO E +6,F +5: HPLOT E +13,F +5 TO E +17,F +5: HPLOT E +19,F +5 TO E +30,F +5
  47. 500  IF X = 5  THEN  GOTO 230
  48. 510 HCOLR = 3
  49. 520  HPLOT E -7,F +6: HPLOT E +3,F +6 TO E +6,F +6: HPLOT E +13,F +6: HPLOT E +19,F +6: HPLOT E +32,F +6
  50. 530  HCOLOR= F4
  51. 540  HPLOT E -6,F +6 TO E +2,F +6: HPLOT E +7,F +6 TO E +12,F +6: HPLOT E +14,F +6 TO E +18,F +6: HPLOT E +20,F +6 TO E +31,F +6
  52. 550  IF X = 6  THEN  GOTO 230
  53. 560  HCOLOR= 3
  54. 570  HPLOT E -7,F +7: HPLOT E +1,F +7 TO E +2,F +7: HPLOT E +11,F +7 TO E +12,F +7: HPLOT E +19,F +7 TO E +27,F +7: HPLOT E +32,F +7
  55. 580  HCOLOR= F4
  56. 590  HPLOT E -7,F +7 TO E,F +7: HPLOT E +3,F +7 TO E +10,F +7: HPLOT E +13,F +7 TO E +18,F +7: HPLOT E +28,F +7 TO E +31,F +7
  57. 600  IF X = 7  THEN  GOTO 230
  58. 610  HCOLOR= 3
  59. 620  HPLOT E -8,F +8: HPLOT E -2,F +8 TO E,F +8: HPLOT E +7,F +8 TO E +10,F +8: HPLOT E +13,F +8 TO E +32,F +8
  60. 630  HCOLOR= F4
  61. 640  HPLOT E -7,F +8 TO E -3,F +8: HPLOT E +1,F +8 TO E +6,F +8: HPLOT E +11,F +8 TO E +12,F +8
  62. 650  IF X = 8  THEN  GOTO 230
  63. 660  HCOLOR= 3
  64. 670  HPLOT E -8,F +9: HPLOT E -5,F +9 TO E -3,F +9: HPLOT E +5,F +9 TO E +6,F +9: HPLOT E +13,F +9 TO E +19,F +9: HPLOT E +28,F +9 TO E +32,F +9
  65. 680  HCOLOR= F4
  66. 690  HCOLOR= F4
  67. 700  HPLOT E -7,F +9 TO E -6,F +9: HPLOT E -2,F +9 TO E +4,F +9: HPLOT E +7,F +9 TO E +12,F +9
  68. 710  HCOLOR= 0
  69. 720  HPLOT E +20,F +9 TO E +27,F +9
  70. 730  IF X = 9  THEN  GOTO 230
  71. 740  HCOLOR= 3
  72. 750  HPLOT E -8,F +10 TO E -6,F +10: HPLOT E +1,F +10 TO E +4,F +10: HPLOT E +11,F +10
  73. 760  HCOLOR= F4
  74. 770  HPLOT E -5,F +10 TO E,F +10: HPLOT E +6,F +10 TO E +9,F +10
  75. 780  HCOLOR= 0
  76. 790  HPLOT E +5,F +10: HPLOT E +7,F +10 TO E +8,F +10: HPLOT E +12,F +10 TO E +31,F +10
  77. 800  IF X = 10  THEN  GOTO 230
  78. 810  HCOLOR= 3
  79. 820  HPLOT E -9,F +11 TO E -8,F +11: HPLOT E -2,F +11 TO E,F +11: HPLOT E +11,F +11 TO E +17,F +11: HPLOT E +26,F +11 TO E +31,F +11
  80. 830  HCOLOR= F4
  81. 840  HPLOT E -7,F +11 TO E -3,F +11
  82. 850  HCOLOR= 0
  83. 860  HPLOT E +1,F +11 TO E +2,F +11: HPLOT E +4,F +11 TO E +5,F +11: HPLOT E +7,F +11 TO E +10,F +11: HPLOT E +18,F +11 TO E +23,F +11
  84. 870  IF X = 11  THEN  GOTO 230
  85. 880  HCOLOR= 3
  86. 890  HPLOT E -11,F +12 TO E -10,F +12: HPLOT E -5,F +12 TO E -3,F +12: HPLOT E +30,F +12
  87. 900  HCOLOR= F4
  88. 910  HPLOT E -9,F +12 TO E -6,F +12: HPLOT E -2,F +12: HPLOT E,F +12 TO E +1,F +12: HPLOT E +3,F +12 TO E +5,F +12
  89. 920  HCOLOR= 0
  90. 930  HPLOT E -1,F +12: HPLOT E +2,F +12: HPLOT E +6,F +12 TO E +29,F +12
  91. 940  IF X = 12  THEN  GOTO 230
  92. 950  HCOLOR= 3
  93. 960  HPLOT E -13,F +13 TO E -12,F +13: HPLOT E -8,F +13 TO E -6,F +13: HPLOT E +7,F +13 TO E +12,F +13: HPLOT E +24,F +13 TO E +29,F +13
  94. 970  HCOLOR= F4
  95. 980  HPLOT E -11,F +13 TO E -9,F +13: HPLOT E -3,F +13: HPLOT E +1,F +13
  96. 990  HCOLOR= 0
  97. 1000  HPLOT E -5,F +13 TO E -4,F +13: HPLOT E -2,F +13 TO E,F +13: HPLOT E +2,F +13 TO E +6,F +13: HPLOT E +13,F +13 TO E +23,F +13
  98. 1010  IF X = 13  THEN  GOTO 230
  99. 1020  IF B = 0  THEN  RETURN : REM     BUT
  100. 1030  HCOLOR= F4
  101. 1040  HPLOT E -5,F +1 TO E -4,F +1: HPLOT E -4,F +3 TO E -5,F +3 TO E -5,F +4
  102. 1050  HCOLOR= 3
  103. 1060  HPLOT E -5,F +2 TO E -4,F +2
  104. 1070  RETURN 
  105. 1080  REM     EXEC
  106. 1090  IF TU = 4  AND OP = 6  THEN  GOTO 2140
  107. 1092  IF TU = 5  THEN  GOTO 2180
  108. 1094  IF MN = 1  THEN AY% = 3: GOTO 2180
  109. 1100  ON SE GOSUB 1120,1270
  110. 1110  RETURN 
  111. 1120  REM     MG
  112. 1130  FOR ST = 1 TO AM
  113. 1140  FOR TM = 1 TO 10
  114. 1150 SH =  PEEK(SN) + PEEK(SN)
  115. 1160  NEXT TM
  116. 1170 X =  INT(20 +(TR *(TR <6))) * RND(1)
  117. 1180  ON X GOSUB 1340
  118. 1190  NEXT ST
  119. 1200  IF TU = 2  OR TU = 3  THEN  RETURN 
  120. 1210  ON PL GOTO 1220,1240
  121. 1220 PA(N,7) = PA(N,7) -AM
  122. 1230  RETURN 
  123. 1240 PB(N,7) = PB(N,7) -AM
  124. 1250  IF CT = 1  THEN PB(N,7) = 20
  125. 1260  RETURN 
  126. 1270  REM     CANNON
  127. 1280 X =  INT(4 +(TR *(TR <6)) * RND(1)) +1
  128. 1290  CALL 826
  129. 1320  ON X GOTO 2000,1500,1830,1980,1830,1500,2020,2040,2000,2040
  130. 1330  GOTO 2020
  131. 1340  REM     CMDR HIT IF UNBUT
  132. 1350  ON PL GOTO 1360,1430
  133. 1360  IF PB(D0,7) = 1  THEN  GOTO 1380
  134. 1370  RETURN : REM     NEXT SHOT
  135. 1380 PB(D0,1) = PB(D0,1) -.1
  136. 1390  IF PB(D0,1) <.7  THEN PB(D0,1) = .7
  137. 1400 PB(D0,2) = 0
  138. 1410 RO = 1
  139. 1420  RETURN 
  140. 1430  IF PA(D0,7) = 1  THEN  GOTO 1450
  141. 1440  RETURN 
  142. 1450 PA(D0,1) = PA(D0,1) -.1
  143. 1460  IF PA(D0,1) <.7  THEN PA(D0,1) = .7
  144. 1470 PA(D0,2) = 0
  145. 1480 RO = 1
  146. 1490  RETURN 
  147. 1500  REM     LEFT
  148. 1510 XC = 90
  149. 1520 E = 155:F = 82
  150. 1530 RO = 2
  151. 1540  ON PL GOTO 1550,1580
  152. 1550 PB(D0,1) = PB(D0,1) -.1:PB(D0,3) = 1:PB(D0,2) = PB(D0,2) -1
  153. 1560  IF PB(D0,1) <.7  THEN PB(D0,1) = 0:RO = 3
  154. 1570  GOTO 1600
  155. 1580 PA(D0,1) = PA(D0,1) -.1:PA(D0,3) = 1:PA(D0,2) = PA(D0,2) -1
  156. 1590  IF PA(D0,1) <.7  THEN PA(D0,1) = 0:RO = 3
  157. 1600  REM     NEW EXPLO
  158. 1610  HCOLOR= 3: GOSUB 2270
  159. 1620  HCOLOR= 5: GOSUB 2280
  160. 1630  HCOLOR= 0: GOSUB 2270
  161. 1640  HCOLOR= 5: GOSUB 2290
  162. 1650  HCOLOR= 0: GOSUB 2290
  163. 1660  HCOLOR= 5: GOSUB 2300
  164. 1670  HCOLOR= 0: GOSUB 2300
  165. 1680  HCOLOR= 5: GOSUB 2330
  166. 1690  HCOLOR= 0: GOSUB 2350
  167. 1700  HCOLOR= 5: GOSUB 2370
  168. 1710  HCOLOR= 0: GOSUB 2330
  169. 1720  GOSUB 2370
  170. 1730  HCOLOR= 5: GOSUB 2390
  171. 1740  HCOLOR= 0: GOSUB 2390
  172. 1750  IF RO = 7  OR RO = 9  THEN  GOSUB 2410
  173. 1760  ON PL GOTO 1770,1800
  174. 1770  IF TU = 1  THEN PA(N,10) = 0
  175. 1780  IF TU = 2  THEN PA(N,8) = 0
  176. 1790  RETURN 
  177. 1800  IF TU = 1  THEN PB(N,10) = 0
  178. 1810  IF TU = 2  THEN PB(N,8) = 0
  179. 1820  RETURN 
  180. 1830 E = 170:F = 73
  181. 1840  ON PL GOTO 1850,1910
  182. 1850  IF TU = 1  THEN RO = 9:PB(D0,1) = 0:PA(N,2) = PA(N,2) +2: GOTO 1600
  183. 1860  ON PA(N,8) GOTO 1870,1880
  184. 1870 RO = 7:PB(D0,1) = 0: GOTO 1890
  185. 1880 RO = 19:PB(D0,1) = PB(D0,1) -.2:PB(D0,2) = 0:PB(D0,5) = 1
  186. 1890  IF PB(D0,1) <.7  THEN PB(D0,1) = 0:
  187. 1900  GOTO 1600
  188. 1910  IF TU = 1  THEN RO = 9:PA(D0,1) = 0:PB(N,2) = PB(N,2) +2: GOTO 1600
  189. 1920  ON PB(N,8) GOTO 1930,1950
  190. 1930 RO = 7:PA(D0,1) = 0:
  191. 1940  GOTO 1960
  192. 1950 RO = 19:PA(D0,1) = PA(D0,1) -.2:PA(D0,2) = 0:PA(D0,5) = 1
  193. 1960  IF PA(D0,1) <.7  THEN PA(D0,1) = 0:
  194. 1970  GOTO 1600
  195. 1980 E = 194:F = 75
  196. 1990  GOTO 1530
  197. 2000 E = 197:F = 86
  198. 2010  GOTO 1600
  199. 2020 E = 150:F = 85
  200. 2030  GOTO 1600
  201. 2040 E = 170:F = 90
  202. 2050  GOTO 1600
  203. 2060 E = 140:F = 105
  204. 2070  GOTO 1600
  205. 2080 E = 200:F = 95
  206. 2090  GOTO 1600
  207. 2100 E = 180:F = 110
  208. 2110  GOTO 1600
  209. 2120 E = 175:F = 120
  210. 2130  GOTO 1600
  211. 2140  REM     ARTY FIRE
  212. 2150  ON PL GOTO 2160,2170
  213. 2160 PA(N,8) = 1: GOTO 2180
  214. 2170 PB(N,8) = 1: GOTO 2180
  215. 2180  FOR C = 1 TO AY%
  216. 2190  CALL 826
  217. 2220 X =  INT((7 +(TR *(TR <6)) +(5 *(TR >5))) * RND(1) +1)
  218. 2225  IF MN = 1  AND X = 2  THEN 2220
  219. 2230  ON X GOSUB 2080,1830,1500,1980,2100,2060,2120,2020,2040,2020,2040,2060,2120,2080
  220. 2240  NEXT C
  221. 2250  RETURN 
  222. 2260  REM     NEW EXPLO
  223. 2270  HPLOT E,F TO E +2,F -2: HPLOT E,F TO E -2,F -2: HPLOT E -2,F
  224. 2280  HPLOT E +1,F TO E +5,F -4: HPLOT E -1,F TO E -5,F -4: HPLOT E +1,F -2: HPLOT E +2,F -4: HPLOT E -1,F -2: HPLOT E -2,F -4: HPLOT E +3,F -6: HPLOT E -3,F -6: HPLOT E,F -3 TO E,F -7: RETURN 
  225. 2290  HPLOT E +2,F -1 TO E +3,F -2: HPLOT E -2,F -1 TO E -3,F -2: HPLOT E +5,F -4: HPLOT E -5,F -4: HPLOT E -7,F -5: HPLOT E +7,F -6: HPLOT E -1,F -6: HPLOT E +1,F -7: RETURN 
  226. 2300  HPLOT E +1,F -2: HPLOT E -1,F -2: HPLOT E +2,F -5: HPLOT E -2,F -5: HPLOT E +3,F -7: HPLOT E -3,F -7: HPLOT E +5,F -9: HPLOT E -4,F -9: HPLOT E +2,F -8: HPLOT E -1,F -8
  227. 2310  HPLOT E +1,F: HPLOT E -1,F -1: HPLOT E +3,F -2: HPLOT E -3,F -2: HPLOT E +5,F -4: HPLOT E -5,F -4: HPLOT E +7,F -6: HPLOT E -7,F -5: HPLOT E +9,F -7: HPLOT E -9,F -6
  228. 2320  HPLOT E +1,F -9: HPLOT E -1,F -10: HPLOT E +3,F -9: HPLOT E -2,F -9: HPLOT E +5,F -11: HPLOT E -6,F -11: HPLOT E +8,F -12: HPLOT E -8,F -12: RETURN 
  229. 2330  HPLOT E,F TO E,F -3: HPLOT E +2,F -5: HPLOT E -2,F -5: HPLOT E +4,F -7: HPLOT E -4,F -8: HPLOT E +6,F -10: HPLOT E -5,F -10: HPLOT E +9,F -12: HPLOT E -7,F -12
  230. 2340  HPLOT E +4,F -3: HPLOT E -4,F -3: HPLOT E +7,F -6: HPLOT E -7,F -5: HPLOT E +10,F -8: HPLOT E -9,F -6: HPLOT E -11,F -7: HPLOT E +12,F -13: HPLOT E -10,F -13
  231. 2350  HPLOT E +3,F -12: HPLOT E -2,F -12: HPLOT E +5,F -14: HPLOT E -3,F -14: HPLOT E +7,F -15: HPLOT E -5,F -15: HPLOT E -14,F -8: HPLOT E -13,F -14: HPLOT E -7,F -16: HPLOT E,F -13
  232. 2360  HPLOT E,F -17: HPLOT E +10,F -16: HPLOT E +14,F -14: HPLOT E -14,F -9: RETURN 
  233. 2370  HPLOT E -10,F -6: HPLOT E -10,F -11: HPLOT E +14,F -12: HPLOT E +10,F -6: HPLOT E -17,F -7: HPLOT E -15,F -14: HPLOT E -10,F -17: HPLOT E -2,F -19: HPLOT E +2,F -15
  234. 2380  HPLOT E +13,F -17: HPLOT E +19,F -14: HPLOT E +18,F -9: HPLOT E -19,F -6: HPLOT E -19,F -12: HPLOT E -12,F -17: HPLOT E -3,F -22: HPLOT E +3,F -18: HPLOT E +17,F -17: HPLOT E +22,F -15: RETURN 
  235. 2390  HPLOT E -20,F -4: HPLOT E -20,F -10: HPLOT E +5,F -21: HPLOT E +20,F -16: HPLOT E +24,F -12: HPLOT E +23,F -6: RETURN 
  236. 2400  RETURN 
  237. 2410  REM     DISPLAY ELIM
  238. 2420  IF CL = 1  THEN  RETURN 
  239. 2430 CL = 1
  240. 2440 E = 163:F = 67
  241. 2450  HCOLOR= 5
  242. 2460  HPLOT E -7,F +4 TO E -8,F +4 TO E -7,F +5 TO E -7,F +3 TO E -3,F +3 TO E -1,F +2 TO E -6,F +2
  243. 2470  HPLOT E -6,F +2 TO E -2,F -2 TO E -3,F -3 TO E -4,F +1 TO E +1,F +1 TO E,F TO E +12,F
  244. 2480  HPLOT E +12,F TO E +13,F +2 TO E +13,F TO E +12,F -2 TO E +15,F -4 TO E +12,F -1 TO E +1,F -1 TO E +2,F -4 TO E +5,F -5 TO E +2,F -2 TO E +10,F -2 TO E +8,F -4 TO E +9,F -5 TO E +9,F -7 TO E +8,F -3
  245. 2490  FOR TM = 1 TO 6
  246. 2500  HCOLOR= 5
  247. 2510  FOR F2 = 1 TO 2
  248. 2520  HPLOT E -5,F -4 TO E -7,F -4 TO E -5,F -3 TO E -6,F -5 TO E -5,F -6 TO E -6,F -8
  249. 2530  HPLOT E +11,F -2 TO E +12,F -3 TO E +10,F -3 TO E +9,F -4 TO E +13,F -4 TO E +14,F -5 TO E +10,F -5 TO E +11,F -6 TO E +14,F -6 TO E +14,F -7 TO E +16,F -10 TO E +12,F -7
  250. 2540  HCOLOR= 0: NEXT F2
  251. 2550  HCOLOR= 5
  252. 2560  FOR F2 = 1 TO 2
  253. 2570  HPLOT E +1,F -5 TO E -1,F -5 TO E -1,F -6 TO E +2,F -6 TO E +2,F -7 TO E -1,F -7 TO E +3,F -11 TO E +3,F -12 TO E +1,F -8
  254. 2580  HPLOT E +9,F -6 TO E +6,F -6 TO E +6,F -7 TO E +10,F -7 TO E +11,F -8 TO E +5,F -8 TO E +9,F -12 TO E +9,F -13 TO E +7,F -9 TO E +11,F -9 TO E +12,F -11 TO E +14,F -13 TO E +11,F -11
  255. 2590  HCOLOR= 0
  256. 2600  NEXT F2
  257. 2610  HCOLOR= 5
  258. 2620  FOR F2 = 1 TO 2
  259. 2630  HPLOT E +5,F -9 TO E +4,F -9 TO E +3,F -10 TO E +6,F -10 TO E +7,F -11 TO E +3,F -11 TO E +4,F -12 TO E +6,F -12 TO E +6,F -15 TO E +7,F -17 TO E +7,F -14 TO E +5,F -13
  260. 2640  HCOLOR= 0
  261. 2650  NEXT F2
  262. 2660  NEXT TM
  263. 2670  RETURN 
  264. 2680  CALL  -936
  265. 2690 GO = 1
  266. 2700  IF CL = 1  AND TU = 4  THEN RO = 7
  267. 2710 CL = 0
  268. 2720  IF SF = 1  THEN GO = 3
  269. 2730  IF VF = 1  THEN GO = 6
  270. 2740  IF TU = 4  AND OP = 6  THEN GO = 8
  271. 2750  IF AUX = 1  AND RR = 1  THEN  PRINT D$;"CHAIN /RAM/RET"
  272. 2760  PRINT D$;"CHAIN RET"